<?php


namespace Part18_MemoMode\Code3;

require_once '../../autoload.php';

$player = new GameRole();

// 初始化角色状态
$player->GetInitState();
$player->StateDisplay();

// 保存进度,由于封装在memento，因此我们并不知道保存了哪些具体的角色数据。
$stateAdmin = new RoleStateCaretaker();
$stateAdmin->setMemento($player->saveState());

// 大战boss
$player->Fight();
$player->StateDisplay();

// 恢复之前的状态
$player->RecoveryState($stateAdmin->getMemento());
$player->StateDisplay();